package com.windaka.elements.type;

import lombok.AllArgsConstructor;

import java.util.*;


/**
 * 项目的状态的枚举
 * @author song
 * @date 14:40 2022/8/18
**/
@AllArgsConstructor
public enum ProjectStatusType {

    /**
     * 正在布建
     **/
    RUNNING(1, "正在布建..."),

    /**
     * 布建完成
     **/
    FINISHED(2, "布建完成"),

    /**
     * 缺少数据
     **/
    NO_DATA(3, "缺少数据"),

    /**
     * 布建失败
     */
    ERROR(4, "布建失败");

    /**
     * 对应的值
     **/
    public final Integer key;

    /**
     * 对应的文本
     **/
    public final String value;

    /**
     * 获取所有列表
     */
    public static List<EnumKeyValue> getList() {
        List<EnumKeyValue> list = new ArrayList<>();
        for (ProjectStatusType projectStatusType : EnumSet.allOf(ProjectStatusType.class)) {
            EnumKeyValue enumKeyValue = EnumKeyValue
                    .builder()
                    .key(projectStatusType.key)
                    .value(projectStatusType.value)
                    .build();
            list.add(enumKeyValue);
        }
        return list;
    }

    /**
     * 获取对应关系表
     */
    public static Map<Integer, String> getMap() {
        Map<Integer, String> resultMap = new HashMap<>();
        for (ProjectStatusType projectStatusType : EnumSet.allOf(ProjectStatusType.class)) {
            resultMap.put(projectStatusType.key, projectStatusType.value);
        }
        return resultMap;
    }
}

